//
//  YTFBasicTableViewController.swift
//  sinaWeibo
//
//  Created by pro on 16/2/25.
//  Copyright © 2016年 pro. All rights reserved.
//

import UIKit


//遵循代理协议
class YTFBasicTableViewController: UITableViewController ,YTFVisitorDelegate{

    //定义一个成员变量
    var visitor: YTFVisitor?
    
    //定义一个成员变量，用来判断是否已经登录，因为在这些模块上都要使用，所以把用来判断是否已经登录的成员属性定义在基类上,为什么使用强解，因为肯定有值
    var isLogin: Bool = YTFUserViewModel.shareInstance.isLogin!
  
    
    //这个方法调用一次，但是在修改控制器的时候会重新调用
    override func loadView() {
        //判断在什么时候显示访客视图，什么时候显示原本的视图
        if YTFUserViewModel.shareInstance.isLogin!{
            super.loadView()
            
        }else{
            showVisitorView()
        }
      
    
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //把view赋值为访客视图不适合再放在这里了，这样即使再调用loadView也不会改变这个控制器的视图
        
    }
    
    
    //加载访客视图
    private func showVisitorView(){
        visitor = YTFVisitor()
        
        visitor?.startAnimation()
        
        //设置代理
        visitor?.delegate = self
        
        //把这个视图赋值给view
        view = visitor
        
        setupUI()
    
    }

    
    func setupUI(){
        let registerBtn = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "didRegister")
        
        let loginBtn = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: "didLogin")
        
        navigationItem.leftBarButtonItem = registerBtn
        navigationItem.rightBarButtonItem = loginBtn
    }
    
    //实现代理方法
    func didRegister() {
//        print("控制器实现注册代理方法")
        //创建一个导航控制器来跳转
        
        let loginVC = YTFLoginViewController()
        
        let navVC = UINavigationController(rootViewController: loginVC)
        
        presentViewController(navVC, animated: true) { () -> Void in
            
        }
        
        
    }

    
    func didLogin() {
//        print("控制器实现登录代理方法")
    }
    
}
